1.（1）将指针 p1 移动到与 p2 相同偏移的位置处
   （2）指针类型不匹配，指针越界，空指针
2.#include <stdio.h>
void s(int *arr, int size) {
    for (int i = 0; i < size; ++i) {
        *(arr + i) = 0;
    }
}
int main() {
    int array[] = {1, 2, 3, 4, 5};
    int size = sizeof(array) / sizeof(array[0]);
    printf("Original array:\n");
    for (int i = 0; i < size; ++i) {
        printf("%d ", array[i]);
    }
    printf("\n");
    s(array, size);
    printf("Array after setting to zero:\n");
    for (int i = 0; i < size; ++i) {
        printf("%d ", array[i]);
    }
    printf("\n");
    retu